package com.edu.study.base.stuQuestionCatalog.domain;

import com.edu.study.base.stuQuestionLibrary.domain.StuQuestionLibraryRy;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * 题卷目录对象 stu_question_catalog
 * 
 * @author jjt
 * @date 2021-05-18
 */
public class StuQuestionCatalog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 目录名称 */
    @Excel(name = "目录名称")
    private String name;

    /** 题型ID */
    @Excel(name = "题型ID")
    private Long questionTypeId;

    @Excel(name = "答对得分")
    private BigDecimal scoreRightValue;

    @Excel(name = "打错扣分")
    private BigDecimal scoreWrongValue;

    @Excel(name = "不答得分")
    private BigDecimal scoreNoValue;

    /** $column.columnComment */
    @Excel(name = "排序")
    private Long sortNum;

    /** 父级ID */
    @Excel(name = "父级ID")
    private Long parentId;

    /** 是否目录 */
    @Excel(name = "是否目录")
    private String ifCatalog;

    /** 是否隐藏 */
    @Excel(name = "是否隐藏")
    private Integer showStatus;

    private Long createId;


    private Long updateId;

    private String questionTypeName;

    private String questionRemark;

    private String questionAudioUrl;

    private String questionWord;


    private List<StuQuestionCatalog> children = new ArrayList<StuQuestionCatalog>();

    //模板下题目
    private List<StuQuestionLibraryRy> libraryRyList = new ArrayList<>();

    public List<StuQuestionLibraryRy> getLibraryRyList() {
        return libraryRyList;
    }

    public void setLibraryRyList(List<StuQuestionLibraryRy> libraryRyList) {
        this.libraryRyList = libraryRyList;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getLabel()
    {
        return name;
    }
    public String getName()
    {
        return name;
    }
    public void setQuestionTypeId(Long questionTypeId)
    {
        this.questionTypeId = questionTypeId;
    }

    public Long getQuestionTypeId()
    {
        return questionTypeId;
    }


    public void setSortNum(Long sortNum)
    {
        this.sortNum = sortNum;
    }

    public Long getSortNum() 
    {
        return sortNum;
    }
    public void setParentId(Long parentId) 
    {
        this.parentId = parentId;
    }

    public Long getParentId() 
    {
        return parentId;
    }
    public void setIfCatalog(String ifCatalog) 
    {
        this.ifCatalog = ifCatalog;
    }

    public String getIfCatalog() 
    {
        return ifCatalog;
    }
    public void setShowStatus(Integer showStatus) 
    {
        this.showStatus = showStatus;
    }

    public Integer getShowStatus() 
    {
        return showStatus;
    }
    public void setCreateId(Long createId) 
    {
        this.createId = createId;
    }

    public Long getCreateId() 
    {
        return createId;
    }
    public void setUpdateId(Long updateId) 
    {
        this.updateId = updateId;
    }

    public Long getUpdateId() 
    {
        return updateId;
    }

    public List<StuQuestionCatalog> getChildren() {
        return children;
    }

    public void setChildren(List<StuQuestionCatalog> children) {
        this.children = children;
    }

    public BigDecimal getScoreRightValue() {
        return scoreRightValue;
    }

    public void setScoreRightValue(BigDecimal scoreRightValue) {
        this.scoreRightValue = scoreRightValue;
    }

    public BigDecimal getScoreWrongValue() {
        return scoreWrongValue;
    }

    public void setScoreWrongValue(BigDecimal scoreWrongValue) {
        this.scoreWrongValue = scoreWrongValue;
    }

    public BigDecimal getScoreNoValue() {
        return scoreNoValue;
    }

    public void setScoreNoValue(BigDecimal scoreNoValue) {
        this.scoreNoValue = scoreNoValue;
    }

    public String getQuestionTypeName() {
        return questionTypeName;
    }

    public void setQuestionTypeName(String questionTypeName) {
        this.questionTypeName = questionTypeName;
    }

    public String getQuestionRemark() {
        return questionRemark;
    }

    public void setQuestionRemark(String questionRemark) {
        this.questionRemark = questionRemark;
    }

    public String getQuestionAudioUrl() {
        return questionAudioUrl;
    }

    public void setQuestionAudioUrl(String questionAudioUrl) {
        this.questionAudioUrl = questionAudioUrl;
    }

    public String getQuestionWord() {
        return questionWord;
    }

    public void setQuestionWord(String questionWord) {
        this.questionWord = questionWord;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("questionTypeId", getQuestionTypeId())
            .append("sortNum", getSortNum())
            .append("parentId", getParentId())
            .append("ifCatalog", getIfCatalog())
            .append("showStatus", getShowStatus())
            .append("createTime", getCreateTime())
            .append("createId", getCreateId())
            .append("updateTime", getUpdateTime())
            .append("updateId", getUpdateId())
            .toString();
    }
}
